home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-nasreq-nasrequirements-01.txt < prev    next >
Text File  |  1993-07-08  |  34KB  |  989 lines

  1.  
  2.  
  3. INTERNET-DRAFT                                           John Vollbrecht
  4.                                                             Allan Rubens
  5.                                                           Glenn McGregor
  6.                                                              Larry Blunk
  7.                                                            Richard Conto
  8.  
  9.                                                      Merit Network, Inc.
  10.                                                                July 1993
  11.                                                     Expires January 1994
  12.  
  13.                          Network Access Server
  14.                      Proposed Requirements Document
  15.  
  16.  
  17.  
  18. Status of this Memo
  19.  
  20.  
  21.    This document is written as input to the Network Access Server
  22.    Working Group.  It describes a Network Access Server and its role in
  23.    providing temporary access to a network.  The document focuses on
  24.    needs for authentication, authorization and accounting support.
  25.  
  26.    This revision of the document is still very much of a working
  27.    document.  The document includes an overview of NAS requirements, a
  28.    description of the authentication and authorization environment that
  29.    a NAS is expected to interact with, a brief architecture description,
  30.    and a set of requirements matched with the architecture.  The
  31.    requirements are still at a fairly high level and need details filled
  32.    in.
  33.  
  34.    New concepts introduced in this version include a "helper" that acts
  35.    as an intermediary between the NAS and a variety of authentication,
  36.    authorization and tracking servers, and the idea of having a
  37.    "connection server" which could manage connection dialog for the NAS
  38.    and use a refined Telnet redirect to request the NAS telnet client to
  39.    connect to the appropriate destination
  40.  
  41.    In addition, appendices deal with authentication, authorization, and
  42.    useage tracking issues as they apply to the NAS.
  43.  
  44.    This document is an Internet Draft.  Internet Drafts are working
  45.    documents of the Internet Engineering Task Force (IETF), its Areas,
  46.    and its Working Groups.  Note that other groups may also distribute
  47.    working documents as Internet Drafts.
  48.  
  49.    Internet Drafts are draft documents valid for a maximum of six
  50.    months.  Internet Drafts may be updated, replaced, or obsoleted by
  51.  
  52.  
  53.  
  54. NAS Requirements                                                [Page i]
  55. INTERNET-DRAFT                                                 July 1993
  56.  
  57.  
  58.    other documents at any time.  It is not appropriate to use Internet
  59.    Drafts as reference material or to cite them other than as a
  60.    ``working draft'' or ``work in progress.'' Please check the 1id-
  61.    abstracts.txt listing contained in the internet-drafts Shadow
  62.    Directories on nic.ddn.mil, nnsc.nsf.net, nic.nordu.net,
  63.    ftp.nisc.sri.com, or munnari.oz.au to learn the current status of any
  64.    Internet Draft.
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. NAS Requirements                                               [Page ii]
  110. INTERNET-DRAFT                                                 July 1993
  111.  
  112.  
  113. 1.  Introduction
  114.  
  115.    This document defines a set of requirements for a class of devices
  116.    referred to as Network Access Servers (NAS's). The term "Network
  117.    Access Server" is used instead of the more conventional term
  118.    "Terminal Server" as it more accurately describes the devices of
  119.    interest.  This is written as input to the NAS requirements working
  120.    group of the IETF.
  121.  
  122.    A Network Access Server (NAS) is a router or terminal server which
  123.    provides temporary access to a network.  It can provide access for
  124.    both traditional "dumb terminals" and terminal emulators as well as
  125.    workstations, PC's or routers utilizing a serial line framing
  126.    protocol such as PPP or SLIP. Thus a NAS can provide connections to a
  127.    single user, to a network or subnetwork, or to interconnected
  128.    networks.  The entities that use the NAS to connect to a network are
  129.    called Network Access Clients (NACs).
  130.  
  131.    The NAS may be a system dedicated to providing temporary network
  132.    access, or it may be a part of a system which has other capabilities
  133.    as well.  For example a workstation with a set of dial-in lines could
  134.    provide NAS functions.
  135.  
  136.    The physical attachments to a NAS, which are used for temporary
  137.    connections, will typically be dial-in modems attached to local phone
  138.    lines, but could also be a hardwired connection supporting ISDN,
  139.    frame relay, or other switched (virtual) circuit services.
  140.  
  141.    The purpose of this document is to define the requirements for
  142.    functions and services that a NAS should provide to both its
  143.    administrators (the people responsible for deploying and managing the
  144.    NAS) and its clients (the PCs, workstations and routers that connect
  145.    to the network through the NAS).
  146.  
  147.    Many of the requirements of a NAS are identical to what is required
  148.    of a router.  In fact a NAS can be viewed as a special class of
  149.    router, one in which the "neighbors" are not permanently attached.
  150.    When an attachment request is received, the NAS must insure that the
  151.    new "neighbor" is authorized to attach.  This is contrasted with a
  152.    conventional router where a "neighbor" is permanently connected.
  153.  
  154.    The application of this model to the character stream ("dumb
  155.    terminal") case requires that a "packetization" process convert
  156.    between the character stream and packet formats.  In this case the
  157.    "neighbor" of the router is the packetizing client.  A typical
  158.    packetizing client would be the Telnet client.  The figure below
  159.    shows a model of this.
  160.  
  161.  
  162.  
  163.  
  164. NAS Requirements                                                [Page 1]
  165. INTERNET-DRAFT                                                 July 1993
  166.  
  167.  
  168.                  NAC                                     network
  169.                  attachment   internal      packet       attachment
  170.                  process(es)  interfaces    router(s)    process
  171.              _______________________________________________________
  172.              |      ________                                         |
  173.              |     |        |                                        |
  174.    character |     | Telnet |                                        |
  175.    mode -----|-----| Client |\                                       |
  176.              |     |________| \                                      |
  177.              |                 \          _____________              |
  178.              |                  \_()_____|             |   ________  |
  179.              |                           |             |  |        | |
  180.              |                           | ROUTER      |__|Ethernet|-|--
  181.              |      ________   --()------|             |  |________| |
  182.    framed    |     |        | /          |             |             |
  183.    input ----|-----| PPP    |/           |_____________|             |
  184.              |     |________|                                        |
  185.              |                                                       |
  186.              |                                                       |
  187.              |_______________________________________________________|
  188.  
  189.                             Figure 1  NAS structure
  190.  
  191.    In the above model there are NAC attachment processes which are
  192.    responsible for handling incoming data.  Not shown, but necessary for
  193.    dial-in async input, is a process which will switch input to the
  194.    appropriate input process (e.g. a way to distinguish between a
  195.    character stream input and PPP input at the time a connection is
  196.    initiated).  The figure shows two user attachment processes, but
  197.    there could be many different ones to support SLIP, ISDN, etc.
  198.  
  199.    The internal router interface is the point where service
  200.    authorization is implemented.  Here routing configurations, packet
  201.    filters and such are applied.  The implementation of these may be
  202.    different at a PPP interface than at a Telnet Client interface.  For
  203.    example, a PPP interface would restrict packets by applying filters
  204.    to each packet, while the Telnet interface might check for access
  205.    privileges only when it is establishing a TCP connection.
  206.  
  207.    The router process forwards packets.  There may be several processes
  208.    which route packets, each using different routing protocols.  It is
  209.    likely that a NAS will route other protocols, such as IPX, CLNP or
  210.    Appletalk, in addition to IP.
  211.  
  212.    The network attachment process is similar to the framed input
  213.    attachment process, except that it is configured as part of the NAS,
  214.    and its capabilities are not modified with new connections.  The
  215.    network attachment process could support an ethernet connection, as
  216.  
  217.  
  218.  
  219. NAS Requirements                                                [Page 2]
  220. INTERNET-DRAFT                                                 July 1993
  221.  
  222.  
  223.    shown in the figure, a dial-out PPP connection, a synchronous serial
  224.    line, or some other network attachment mechanism.
  225.  
  226.    (Note that if the network attachment is via a dial on demand port,
  227.    the NAS must be configured to know which remote router(s) to dial for
  228.    network connection.  If a remote router dials into the NAS, then the
  229.    NAS can treat it similarly to any other dial-in port except that it
  230.    must set up routing to the network itself, and will probably require
  231.    mutual authentication between routers)
  232.  
  233.  
  234. 2.  NAS Environment
  235.  
  236.  
  237.    A NAS can be used in a wide range of environments.  It could be a
  238.    front end for an individual host, it could provide access to a LAN
  239.    for a limited set of users.  The case we are interested in is where
  240.    it provides a large community of users belonging to a number of
  241.    different organizations with access to a network which interconnects
  242.    hosts from a number of organizations.
  243.  
  244.    This is the case where a regional IP network provides dial-in access
  245.    for its users.  The dial-in access allows connection to the regional
  246.    net and through it potentially to other networks on the international
  247.    Internet.  The regional might provide dial-in access at a number of
  248.    geographic locations in order to limit costs of dialing.
  249.  
  250.    As described here, the user (terminal, workstation or router) is the
  251.    Network Access Client (NAC). The NAC requests to be connected to the
  252.    network, and the NAS accepts or rejects the request.  The NAC must be
  253.    authenticated and authorized by servers which can typically only be
  254.    reached through the NAS.
  255.  
  256.    A NAS may want to identify a NAC  by doing an authentication check at
  257.    the NAC's home organization.  Once the NAC is authenticated, it may
  258.    also be desired to check the  network capabilities for which the NAC
  259.    is authorized. The sort of capabilities a NAS provides include
  260.    protocols for access (e.g. PPP, IP, IPX, dumb terminal, telnet,
  261.    rlogin), what addresses are accessible from the NAC's port, and other
  262.    NAS specific functions that may be provided.  This does *not* include
  263.    limits on what print servers, file servers, or other host
  264.    capabilities may be supported, other than by possibly  restricting
  265.    access to destination addresses at which the servers reside.  A NAS
  266.    is a Network Access Server, not a frontend to a set of servers or
  267.    hosts.
  268.  
  269.    In the envisaged environment a NAS will need to authenticate a NAC at
  270.    the authentication server supported by the NAC's organization.  Each
  271.  
  272.  
  273.  
  274. NAS Requirements                                                [Page 3]
  275. INTERNET-DRAFT                                                 July 1993
  276.  
  277.  
  278.    organization may support a different authentication mechanism.  Some
  279.    may use Kerberos, some may use Unix password files, some may have
  280.    other mainframe based authentication mechanism, and others may use a
  281.    Public certificate system.  A NAS will need to be able to interact
  282.    with whatever authentication servers are used at different
  283.    organizations.  It is not reasonable to expect that an organization
  284.    will move tens of thousands of userids and passwords to a different
  285.    authentication system to allow the regional to use a NAS that
  286.    supports only a particular authentication mechanism.
  287.  
  288.    Authorization servers will be run by the organization running the
  289.    network, and may be more closely tied to the NAS.  For authorization
  290.    the NAS may also need to interact with authorization servers at the
  291.    NAC's home organization to be sure the NAC is authorized by its own
  292.    organization to uset the NAS.  It is desirable for the NAS to use
  293.    some "standard" authorization service.
  294.  
  295.    Finally, a NAS will need to track useage for Accounting and auditing
  296.    purposes.  Accounting information will need to be forwarded to a
  297.    number of different auditing/billing systems supported by different
  298.    organizations.
  299.  
  300.  
  301. 3.  NAS architecture
  302.  
  303.  
  304.    A NAS consists of a set of ports which connect Network Access Clients
  305.    and networks.  NAS processes take data from the ports,
  306.    packetize/depacketize it appropriately, and route packets between
  307.    ports.  This is what is shown in Figure 1.
  308.  
  309.    In addition, a NAS has "management" processes that are needed to
  310.    perform the following tasks
  311.  
  312.     1. NAC identification and authorization
  313.     2. Per NAC useage tracking for auditing and accounting
  314.     3. collecting and reporting performance and load measures
  315.     4. debugging
  316.     5. configuration of NAS
  317.     6. loading and dumping
  318.     7. call initiation dialog
  319.     8. stuff that we have forgotten or not thought of yet
  320.  
  321.    A NAS will hopefully be an inexpensive box.  The processes that
  322.    support NAC identification and authorization and useage tracking may
  323.    be complicated, mostly because of the number of ways different
  324.    organizations may choose to do these.  Thus a NAS might have to
  325.    implement Kerberos, Unix password support, and Public Key Certificate
  326.  
  327.  
  328.  
  329. NAS Requirements                                                [Page 4]
  330. INTERNET-DRAFT                                                 July 1993
  331.  
  332.  
  333.    authentication depending on the user.  To make this simpler for NAS
  334.    suppliers to implement and support, a "helper" process is included in
  335.    the architecture.  The "helper" interfaces to the different
  336.    authentication, authorization and useage tracking systems.  It
  337.    communicates with the NAS using a simple standardized protocol.
  338.  
  339.    In addition to making implementation and support simpler, it provides
  340.    a mechanism by which a NAS can adapt to evolving authentication and
  341.    authorization standards.  The "helper" can also be adapted to perform
  342.    additional functions that might not be justified in a standalone NAS,
  343.    for example it might support custom connection dialogs for character
  344.    stream NACs.
  345.  
  346.    The "helper" may reside physically on the same hardware as the NAS,
  347.    or it may be on a remote workstation.  It is possible that if the
  348.    NAS/helper protocol becomes widely accepted that public domain
  349.    versions of "helper" implementations will become available to
  350.    interface with most authentication and authorization servers.
  351.  
  352.    The following figure gives a view of the proposed NAS architecture.
  353.    The numbers in this diagram indicate the section below which
  354.    describes the particular interface.
  355.  
  356.  
  357.  
  358.                                               / useage tracking servers
  359.                                              /
  360.                                             /-  authorization servers
  361.                                            /
  362.                                           /---  authentication servers
  363.                            4.3- "helper" -
  364.                           /
  365.         NAC --- 4.1 -   NAS  4.2-- Network
  366.                           |
  367.                           4.4
  368.                            \------- call initiation - (remote selection)
  369.                             \
  370.                              \-----  performance statistics
  371.                               \
  372.                                \---- debugging
  373.                                 \
  374.                                  \-- config
  375.                                   \
  376.                                    \ load/dump
  377.  
  378.  
  379.                          NAS architecture elements
  380.  
  381.  
  382.  
  383.  
  384. NAS Requirements                                                [Page 5]
  385. INTERNET-DRAFT                                                 July 1993
  386.  
  387.  
  388. 4.  NAS requirements
  389.  
  390.    The following details requirements for each of the interfaces
  391.    indicated in the above architecture.  The sections are not complete
  392.    and need to be completed/reviewed by the nasreq working group.
  393.  
  394.  
  395. 4.1.  NAS - NAC interface
  396.  
  397.  
  398. 4.1.1.  Detecting type of call
  399.  
  400.    Need a way to detect at call initiatiation whether the NAC is doing
  401.    character stream or PPP input.  (details of one way of doing this
  402.    will be provided)
  403.  
  404.  
  405. 4.1.2.  NAC Authentication (see appendix for overview)
  406.  
  407.  
  408. 4.1.3.  Character Stream authentication
  409.  
  410.    NAC doing initial connection with character stream data should be
  411.    able to authenticate using
  412.  
  413.         -id/pw
  414.         -smartcard
  415.         -other?
  416.  
  417.  
  418. 4.1.3.1.  PPP authentication
  419.  
  420.    authentication using PPP should be supported via
  421.  
  422.         -PAP
  423.         -CHAP
  424.         -Kerberos Challenge
  425.         -Public Key Challenge
  426.  
  427.  
  428. 4.1.3.2.  Mutual Authentication
  429.  
  430.    The NAC may need to confirm that it has connected to the correct
  431.    network.  The NAS will need to have a certificate or token that it
  432.    can show to the NAC which proves the NAS is acting for the network.
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439. NAS Requirements                                                [Page 6]
  440. INTERNET-DRAFT                                                 July 1993
  441.  
  442.  
  443. 4.1.4.  Character Stream clients
  444.  
  445.    A NAS may support telnet, rlogin, tcp passthru, other
  446.  
  447. 4.1.5.  PPP input process
  448.  
  449.    PPP input process should support IP
  450.  
  451.    may support IPX, Appletalk, Vines, OSI, bridging
  452.  
  453. 4.1.6.  IP Address assignment
  454.  
  455. 4.1.7.  Per Packet Address filtering
  456.  
  457.  
  458. 4.2.  NAS - Network interface
  459.  
  460. 4.2.1.  Interface - ethernet, token ring, FDDI, synchronous PPP,
  461.  
  462. 4.2.2.  Protocols - IP required, IPX/ Appletalk/ Vines/ OSI
  463.  
  464. 4.2.3.  Router Process
  465.  
  466.    Must support IP routing.
  467.  
  468.    RIP, OSPF
  469.  
  470.  
  471. 4.3.  NAS - helper interface
  472.  
  473.    This is being specified as part of the working group process.  The
  474.    protocol must allow information to be transferred between NAS and
  475.    "helper" reliably, passwords must not be sent in the clear.
  476.  
  477.    "Must not present security exposure greater than already presented on
  478.    NAC/NAS interface".
  479.  
  480.  
  481. 4.4.  Management processes
  482.  
  483. 4.4.1.  SNMP
  484.  
  485.    The NAS must support SNMP.  Standard MIB2 entries, plus additional
  486.    support for hunt group utilization.  Should be able to support modem
  487.    mib.
  488.  
  489.    It may be requested that configuration information, such as additions
  490.    or deletions from packet filtering lists, be done via SNMP
  491.  
  492.  
  493.  
  494. NAS Requirements                                                [Page 7]
  495. INTERNET-DRAFT                                                 July 1993
  496.  
  497.  
  498. 4.4.2.  Debugging
  499.  
  500.    The NAS should support an out of band access capability that allows
  501.    access to local debugging tools.
  502.  
  503.  
  504. 4.4.3.  Configuration
  505.  
  506.    The NAS should be able to be reconfigured over the network without
  507.    rebooting.
  508.  
  509.  
  510. 4.4.4.  Load/dump
  511.  
  512.    There needs to be a secure load/dump mechanism.
  513.  
  514. 4.4.5.  Call initiation
  515.  
  516.    At call set up using dumb terminal mode, authentication and
  517.    authorization of the NAC to the NAS should be independent of
  518.    authentication and authorization of sessions to remote hosts. For
  519.    example, a NAC would have to give a password and id to establish that
  520.    it is ok for it to connect to a local telnet client.  The NAC would
  521.    then telnet to a remote host which would also require the NAC to
  522.    identify itself.
  523.  
  524.    A NAC/NAS session may support multiple packetizing sessions.  For
  525.    example a NAC might establish a connection to a NAS and then connect
  526.    to serveral telnet client processes, each of which connects to a
  527.    different remote host.
  528.  
  529.    At call set up the NAS may pass the connection to a "connection
  530.    server" which could present an individualized connection/help menu.
  531.    The connection server could then use a "cleaned up" telnet redirect
  532.    message to have the NAS extablish a connection to the appropriate
  533.    host/port.  Note that authorization to make the connection would need
  534.    to be applied before the NAS actually initiated it.
  535.  
  536.    This requires clean up of the telnet redirect definition.
  537.  
  538.    The security implications of this have not been well thought out yet.
  539.    It is important that a NAS not accept a redirect request from anyone
  540.    except the "connection server" or its agent.
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549. NAS Requirements                                                [Page 8]
  550. INTERNET-DRAFT                                                 July 1993
  551.  
  552.  
  553.    Appendix A    Authentication Overview and Alternatives
  554.  
  555.  
  556.    1. NAC/NAS authentication
  557.  
  558.    NAC/NAS authentication will be done in one or more of the following
  559.    ways.
  560.  
  561.     a) userid/pw       - this is the most primitive, and has the pw in
  562.     the clear between NAC and NAS.  It is by far the most common
  563.    mechanism
  564.     at this point.
  565.  
  566.     b) one-way challenge authentication - this authenticates the NAC
  567.     to the NAS using a challenge/ challenge response algorithm.  Three
  568.     algorithms are discussed below.
  569.  
  570.     c) mutual authentication - the NAC is authenticated to the NAS and
  571.     the network/NAS is authenticated to the NAC.  The algorithms for
  572.     this may need some further work, but three approaches are discussed
  573.     below.
  574.  
  575.    The assumption is that a NAS vendor will implement one or more of
  576.    these authentication mechanisms and users will buy what is best for
  577.    their application.  The intent is to specify what protocols will be
  578.    used at each level so that implemetations from different vendors of
  579.    that level will interwork.
  580.  
  581.    The following descriptions are oriented to using PPP authentication
  582.    mechanisms.  Adapting these to character stream input is left for a
  583.    later document.
  584.  
  585.    The nasreq working group should pass responsibility for detail
  586.    formulation of the PPP protocols to  the PPP working group or to a
  587.    joint PPP/NAS/security group.
  588.  
  589.    The following discusses the authentication options in more detail.
  590.  
  591.    a) passing userid/pw from NAC to NAS.  This can be done for character
  592.    stream connections using a prompt sequence.  For PPP it will be done
  593.    via PAP.
  594.  
  595.    The protocol sequence (for PPP)
  596.  
  597.      NAC->NAS:   userid/pw
  598.      NAS_>NAC:   ACK/NAK
  599.  
  600.    The NAS can take the userid/pw combination and access almost any
  601.  
  602.  
  603.  
  604. NAS Requirements                                                [Page 9]
  605. INTERNET-DRAFT                                                 July 1993
  606.  
  607.  
  608.    authentication server as proxy for the NAC.
  609.  
  610.    This has the problems that the pw is in the clear betweent the NAS
  611.    and NAC.  The NAS also has the pw in memory for some time so it may
  612.    be vulnerable to other attacks.
  613.  
  614.    On the other hand, it is simple, it exists now, and it is better than
  615.    nothing (at least for the short term).
  616.  
  617.  
  618.    b) a challenge protocol to authenticate NAC to NAS
  619.  
  620.    This is the class of authentication that includes CHAP.  With this
  621.    approach the protocol sequence between the NAC and NAS follows the
  622.    model below.
  623.  
  624.      NAC->NAS:  userid
  625.      NAS->NAC:  challenge
  626.      NAC->NAS:  challenge response
  627.  
  628.    the challenge may be repeated periodically.
  629.  
  630.    This eliminates the password in the clear problem.  The CHAP
  631.    implementation is done in PPP, and the others need better definition,
  632.    but appear not to be a big change to PPP.
  633.  
  634.    Three different challenge /response mechanisms have been suggested
  635.  
  636.    1) CHAP - NAC and NAS know a common secret and use it to generate and
  637.    evaluate the response to a "challenge".  In PPP implementations the
  638.    expectation is that the NAS may send the challenge information and
  639.    response to a third party CHAP server which keeps the common secret
  640.    for each NAC and returns a yes or no response back to the NAS.
  641.  
  642.    2) Kerberos version - NAS goes to Kerberos server to get a session
  643.    key to be used by NAS and NAC.  The NAC gets its key n in the
  644.    challenge sent by the NAS, encrypted in its key.  The challenge
  645.    response is generated with the received key.
  646.  
  647.    The intent of this is to allow the NAC to use a Kerberos server that
  648.    is available at his site in the authentication process.  It means
  649.    that it can have one secret to maintain and remember rather than
  650.    many.
  651.  
  652.    One sequence that might be used to support this is as follows (the
  653.    statements with * at the start are the actual NAC/NAS protocol
  654.    statments):
  655.  
  656.  
  657.  
  658.  
  659. NAS Requirements                                               [Page 10]
  660. INTERNET-DRAFT                                                 July 1993
  661.  
  662.  
  663.      *NAC->NAS:  userid
  664.  
  665.      NAS->authS: userid,NASid
  666.  
  667.      authS->NAS: {sesskey,userid,{sesskey,NASid}*kNAC}*kNAS
  668.  
  669.      NAS:        decrypt using its key (kNAS), keep session key, userid
  670.  
  671.      *NAS->NAC:  challenge, {sesskey,NASid}*KNAC
  672.  
  673.      NAC:        decrypt using its key (KNAC)
  674.                  respond to challenge using sesskey (common session key)
  675.  
  676.      *NAC->NAS   challenge response
  677.  
  678.      NAS:        uses saved sesskey and userid to validate the response
  679.  
  680.      *NAS->NAC   ACK/NAK
  681.  
  682.  
  683.    3) Public Key certificate version - similar to Kerberos but uses
  684.       Public key certificate.
  685.  
  686.    The intent is to allow use of public key certificate distributions
  687.    systems to authenticate NAC to NAS.  The NAC uses his private key to
  688.    "sign" a challenge, which is then checked by the NAS using the NAC's
  689.    public key.
  690.  
  691.    The following indicates one way this could be done.
  692.  
  693.      *NAC ->NAS:  userid
  694.  
  695.      *NAS ->NAC:  challenge
  696.  
  697.      *NAC ->NAS:  challenge*NACprivate-key
  698.  
  699.      NAS:         get certificate with public key of userid
  700.                   verify NAC's response
  701.  
  702.      *NAS ->NAC:  ACK/NAK
  703.  
  704.  
  705.  
  706.    c) mutual NAC / network authentication - In this case the NAC and
  707.    network (via the NAS) mutually authenticate each other.  This
  708.    mechanism needs further definition, and should probably be directed
  709.    to a group with more depth in security issues.
  710.  
  711.  
  712.  
  713.  
  714. NAS Requirements                                               [Page 11]
  715. INTERNET-DRAFT                                                 July 1993
  716.  
  717.  
  718.    One approach to mutual authentication is to run the algorithms twice,
  719.    once in each direction.  For CHAP with a shared secret that might be
  720.    workable. However, it seems that it should be possible for the NAC to
  721.    authenticate to a "network" rather than a specific NAS.  In fact the
  722.    NAC may have no idea which NAS it is calling.  Typically a list of
  723.    dial-in numbers would have a provider name rather than a NAS id
  724.    associated with it.  A dial hunt group might be spread accross
  725.    several NASs.
  726.  
  727.    The following are meant to give an idea of how something like this
  728.    might work rather than be a definitive design.  However in the
  729.    interest of stimulating discussion, the following are presented.
  730.  
  731.    1) mutual authentication with CHAP
  732.  
  733.      *NAC->NAS: userid,netchallenge
  734.      NAS:       use common secret to generate response to netchallenge
  735.      *NAS->NAC: userchallenge,netchallenge-response
  736.      NAC:       use common secret to generate response to userchallenge
  737.      *NAC->NAS: userchallenge-response
  738.      *NAS->NAC: ACK/NAK
  739.  
  740.    note that this fits the same protocol framework as the one way
  741.    authentication.  If the NAS goes to a third party CHAP authentication
  742.    server then all NASs that use that server will look the same to the
  743.    NAC.
  744.  
  745.    2) mutual authentication with Kerberos
  746.  
  747.    In this mechanism the assumption is that the NAS gets a ticket
  748.    granting ticket for a ticket granting server that knows all NACs.
  749.  
  750.      *NAC->NAS:  userid, netid,netchallenge
  751.      NAS->authS: userid,NASid
  752.      authS->NAS: {ksess,userid,{ksess,NASid}*kNAC}*kNAS
  753.      NAS:        decrypt using kNAS,  keep ksess, userid
  754.                  use ksess to create reply to netchallenge
  755.      *NAS->NAC:  {ksess,NASid}*kNAC, netchallenge-response, userchallenge
  756.      NAC:        decrypt using kNAC, keep ksess, NASid
  757.                  use ksess to evaluate netchallenge-response
  758.                  use ksess to generate response to userchallenge
  759.      *NAC->NAS:  userchallenge-response
  760.      *NAS->NAC:  ACK/NAK
  761.  
  762.  
  763.    This again is the same message sequence as before, but with different
  764.    content in some of the messages.  If the authS knows both the NAS and
  765.    NAC and will not authenticate anything other than a NAS having the
  766.  
  767.  
  768.  
  769. NAS Requirements                                               [Page 12]
  770. INTERNET-DRAFT                                                 July 1993
  771.  
  772.  
  773.    NAC (somehow - for futher study) check to see that the NAS is in fact
  774.    authorized by the network to act on its behalf.
  775.  
  776.    3) mutual authentication with public key certificates
  777.  
  778.      *NAC->NAS: userid, netid, netchallenge
  779.      *NAS->NAC: userchallenge, netchallenge*NASK, NAS-net-certificate
  780.      *NAC->NAS: userchallenge*KNAC,
  781.      *NAS->NAC: ACK/NAK
  782.  
  783.    In this mechanism, the NAS and NAC use their private keys to sign a
  784.    challenge.  The NAS gets the public key of the NAC from a certificate
  785.    server.  The NAS sends the NAC a special, to be designed, certificate
  786.    that includes the public key of the NAS signed by a network
  787.    certificate provider.  It also certifies that the NAS is authorized
  788.    to act for the netid network. The NAC must know the public key of the
  789.    certificate provider ahead of time, or have some other way of finding
  790.    out.
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824. NAS Requirements                                               [Page 13]
  825. INTERNET-DRAFT                                                 July 1993
  826.  
  827.  
  828.    Appendix B  Authorization
  829.  
  830.  
  831.  
  832.    1. NAS / network authorization
  833.  
  834.    The NAS may need to be authenticated to a variety of authentication
  835.    and authorization servers in order to make
  836.    authorization/authentication requests for the NAC.  This will be done
  837.    using standard authentication protocols.  This needs more detailed
  838.    definintion.
  839.  
  840.    2. Authorization of NAC
  841.  
  842.    Once the NAC is authenticated, the NAS will need to determine what
  843.    the NAC is allowed to do.  Two approaches to deciding what is
  844.    appropriate have been discussed.
  845.  
  846.      a) Get a list of what the NAC is allowed to do and give it to the
  847.      NAS.  This has been described as per NAC configuration.
  848.  
  849.      b) Each time the NAC requests a new service (e.g. telnet to x.y.z)
  850.      ask a authorization server if it is allowed.  This has been described
  851.      as the access control or authorization server approach.
  852.  
  853.  
  854.    3. Virtual networks
  855.  
  856.    One major authorization requirement is to restrict  a NAC's access to
  857.    a particular set of destinations on the network.  For IP users this
  858.    is typically controlled by  setting packet filters.
  859.  
  860.    Some different approaches to how to set up and administer these
  861.    filters have been discussed.  Having a set of filters that is unique
  862.    for each user gives the most flexibility, but could be very time
  863.    consuming and error prone for large populations of users from
  864.    different organizations.
  865.  
  866.    Alternatively a number of named filter sets could be set up and each
  867.    NAC would request authorization to use one or more set.  This can be
  868.    thought of as setting up a number of virtual networks which the NAC
  869.    may or may not be authorized to access.  Currently this approach
  870.    seems to be favored.
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879. NAS Requirements                                               [Page 14]
  880. INTERNET-DRAFT                                                 July 1993
  881.  
  882.  
  883.    Appendix C  Useage Tracking/Accounting
  884.  
  885.  
  886.    A NAS must create tracking records to allow tracking each NAC/NAS
  887.    connection session.  For each session there should be a unique
  888.    session ID which is included in the header of each record for that
  889.    session.
  890.  
  891.    A tracking record should be generated at the time a NAC makes initial
  892.    connection to the NAS, when the connection is terminated, and for
  893.    special events during the session.  Some of the special events that
  894.    need tracking records are
  895.  
  896.    1) establishing a telnet/rlogin/etc connection from NAS client to a
  897.    remote node
  898.  
  899.     2) terminating a telnet/rlogin/etc connection from NAS clientto a
  900.    remote node
  901.  
  902.     3) checkpoints - same information as end of session records in case
  903.     an end of session record should get lost.
  904.  
  905.    In addition to session records, tracking records should be generated
  906.    for NAS system events including:
  907.  
  908.     1) NAS startup
  909.  
  910.    2) unsuccessful connection attempts (note that if id/pw fails the id
  911.    should not be recorded to avoid recording passwords typed in out of
  912.    sync)
  913.  
  914.    Tracking records should be sent to one or more collection servers.
  915.    Each record should contain character and packet counts, unique
  916.    session id, NAC id, NAS port, IP address, date-time of session start
  917.    and of record generation, frame and packet protocol types (e.g.
  918.    PPP/IP).  Telnet/rlogin/etc tracking records will have as additional
  919.    information the destination address/port, client type, and userid.
  920.  
  921.    This needs to be spelled out better in conjunction with ietf
  922.    accounting wg.
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934. NAS Requirements                                               [Page 15]
  935. INTERNET-DRAFT                                                 July 1993
  936.  
  937.  
  938.    Authors' Addresses
  939.  
  940.    John Vollbrecht
  941.    email: jrv@merit.edu
  942.  
  943.    Allan Rubens
  944.    email: acr@merit.edu
  945.  
  946.    Glenn McGregor
  947.    email: ghm@merit.edu
  948.  
  949.    Larry Blunk
  950.    email: ljb@merit.edu
  951.  
  952.    Richard Conto
  953.    email: rsc@merit.edu
  954.  
  955.    all Authors may be reached as follows
  956.  
  957.       Merit Network, Inc.
  958.       1071 Beal Ave
  959.       Ann Arbor Mi. 48109
  960.       Phone: (313) 936-3000
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.